package com.witmore.neutron.ai.mcp.server.config;

import com.witmore.neutron.ai.mcp.server.other.DateTimeServer;
import com.witmore.neutron.ai.mcp.server.other.WeatherServer;
import com.witmore.neutron.ai.mcp.server.trading.AkShareMcpServer;
import com.witmore.neutron.ai.mcp.server.trading.AlertConfigMcpServer;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Description: ToolConfig
 * Author: 豆子高
 * Date: 2025/7/3 14:14
 */
@Configuration
public class ToolConfig {
    @Bean
    public ToolCallbackProvider weatherTools(WeatherServer weatherServer) {
        return MethodToolCallbackProvider.builder().toolObjects(weatherServer).build();
    }

    @Bean ToolCallbackProvider timeTools(DateTimeServer dateTimeServer){
        return MethodToolCallbackProvider.builder().toolObjects(dateTimeServer).build();
    }

    @Bean ToolCallbackProvider akshareTools(AkShareMcpServer akShareMcpServer){
        return MethodToolCallbackProvider.builder().toolObjects(akShareMcpServer).build();
    }

    @Bean ToolCallbackProvider alertConfigTools(AlertConfigMcpServer alertConfigMcpServer){
        return MethodToolCallbackProvider.builder().toolObjects(alertConfigMcpServer).build();
    }

//    @Bean ToolCallbackProvider stockAnalysisTools(StockAbnormalAnalysisMcpServer stockAbnormalAnalysisMcpServer){
//        return MethodToolCallbackProvider.builder().toolObjects(stockAbnormalAnalysisMcpServer).build();
//    }

}
